﻿// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

namespace osu.Framework.Input
{
    public enum JoystickButton
    {
        FirstButton = 1,
        Button1 = FirstButton,
        Button2,
        Button3,
        Button4,
        Button5,
        Button6,
        Button7,
        Button8,
        Button9,
        Button10,
        Button11,
        Button12,
        Button13,
        Button14,
        Button15,
        Button16,
        Button17,
        Button18,
        Button19,
        Button20,
        Button21,
        Button22,
        Button23,
        Button24,
        Button25,
        Button26,
        Button27,
        Button28,
        Button29,
        Button30,
        Button31,
        Button32,
        Button33,
        Button34,
        Button35,
        Button36,
        Button37,
        Button38,
        Button39,
        Button40,
        Button41,
        Button42,
        Button43,
        Button44,
        Button45,
        Button46,
        Button47,
        Button48,
        Button49,
        Button50,
        Button51,
        Button52,
        Button53,
        Button54,
        Button55,
        Button56,
        Button57,
        Button58,
        Button59,
        Button60,
        Button61,
        Button62,
        Button63,
        Button64,
        Button65,
        Button66,
        Button67,
        Button68,
        Button69,
        Button70,
        Button71,
        Button72,
        Button73,
        Button74,
        Button75,
        Button76,
        Button77,
        Button78,
        Button79,
        Button80,
        Button81,
        Button82,
        Button83,
        Button84,
        Button85,
        Button86,
        Button87,
        Button88,
        Button89,
        Button90,
        Button91,
        Button92,
        Button93,
        Button94,
        Button95,
        Button96,
        Button97,
        Button98,
        Button99,
        Button100,
        Button101,
        Button102,
        Button103,
        Button104,
        Button105,
        Button106,
        Button107,
        Button108,
        Button109,
        Button110,
        Button111,
        Button112,
        Button113,
        Button114,
        Button115,
        Button116,
        Button117,
        Button118,
        Button119,
        Button120,
        Button121,
        Button122,
        Button123,
        Button124,
        Button125,
        Button126,
        Button127,
        Button128,
        FirstAxisNegative = 1024,
        Axis1Negative = FirstAxisNegative,
        Axis2Negative,
        Axis3Negative,
        Axis4Negative,
        Axis5Negative,
        Axis6Negative,
        Axis7Negative,
        Axis8Negative,
        Axis9Negative,
        Axis10Negative,
        Axis11Negative,
        Axis12Negative,
        Axis13Negative,
        Axis14Negative,
        Axis15Negative,
        Axis16Negative,
        Axis17Negative,
        Axis18Negative,
        Axis19Negative,
        Axis20Negative,
        Axis21Negative,
        Axis22Negative,
        Axis23Negative,
        Axis24Negative,
        Axis25Negative,
        Axis26Negative,
        Axis27Negative,
        Axis28Negative,
        Axis29Negative,
        Axis30Negative,
        Axis31Negative,
        Axis32Negative,
        Axis33Negative,
        Axis34Negative,
        Axis35Negative,
        Axis36Negative,
        Axis37Negative,
        Axis38Negative,
        Axis39Negative,
        Axis40Negative,
        Axis41Negative,
        Axis42Negative,
        Axis43Negative,
        Axis44Negative,
        Axis45Negative,
        Axis46Negative,
        Axis47Negative,
        Axis48Negative,
        Axis49Negative,
        Axis50Negative,
        Axis51Negative,
        Axis52Negative,
        Axis53Negative,
        Axis54Negative,
        Axis55Negative,
        Axis56Negative,
        Axis57Negative,
        Axis58Negative,
        Axis59Negative,
        Axis60Negative,
        Axis61Negative,
        Axis62Negative,
        Axis63Negative,
        Axis64Negative,
        FirstAxisPositive = 2048,
        Axis1Positive = FirstAxisPositive,
        Axis2Positive,
        Axis3Positive,
        Axis4Positive,
        Axis5Positive,
        Axis6Positive,
        Axis7Positive,
        Axis8Positive,
        Axis9Positive,
        Axis10Positive,
        Axis11Positive,
        Axis12Positive,
        Axis13Positive,
        Axis14Positive,
        Axis15Positive,
        Axis16Positive,
        Axis17Positive,
        Axis18Positive,
        Axis19Positive,
        Axis20Positive,
        Axis21Positive,
        Axis22Positive,
        Axis23Positive,
        Axis24Positive,
        Axis25Positive,
        Axis26Positive,
        Axis27Positive,
        Axis28Positive,
        Axis29Positive,
        Axis30Positive,
        Axis31Positive,
        Axis32Positive,
        Axis33Positive,
        Axis34Positive,
        Axis35Positive,
        Axis36Positive,
        Axis37Positive,
        Axis38Positive,
        Axis39Positive,
        Axis40Positive,
        Axis41Positive,
        Axis42Positive,
        Axis43Positive,
        Axis44Positive,
        Axis45Positive,
        Axis46Positive,
        Axis47Positive,
        Axis48Positive,
        Axis49Positive,
        Axis50Positive,
        Axis51Positive,
        Axis52Positive,
        Axis53Positive,
        Axis54Positive,
        Axis55Positive,
        Axis56Positive,
        Axis57Positive,
        Axis58Positive,
        Axis59Positive,
        Axis60Positive,
        Axis61Positive,
        Axis62Positive,
        Axis63Positive,
        Axis64Positive,
        FirstHatUp = 3072,
        Hat1Up = FirstHatUp,
        Hat2Up,
        Hat3Up,
        Hat4Up,
        FirstHatDown = 4096,
        Hat1Down = FirstHatDown,
        Hat2Down,
        Hat3Down,
        Hat4Down,
        FirstHatLeft = 5120,
        Hat1Left = FirstHatLeft,
        Hat2Left,
        Hat3Left,
        Hat4Left,
        FirstHatRight = 6144,
        Hat1Right = FirstHatRight,
        Hat2Right,
        Hat3Right,
        Hat4Right,
        GamePadX = Button1,
        GamePadA = Button2,
        GamePadB = Button3,
        GamePadY = Button4,
        GamePadLeftShoulder = Button5,
        GamePadRightShoulder = Button6,
        GamePadLeftTrigger = Button7,
        GamePadRightTrigger = Button8,
        GamePadBack = Button9,
        GamePadStart = Button10,
        GamePadLeftStick = Button11,
        GamePadRightStick = Button12,
        GamePadGuide = Button13,
        GamePadDPadUp = Hat1Up,
        GamePadDPadDown = Hat1Down,
        GamePadDPadLeft = Hat1Left,
        GamePadDPadRight = Hat1Right,
    }
}
